struct _CMHIVE// Size=0x908
{
    struct _HHIVE Hive;// Offset=0x0 Size=0x3a0
    void * FileHandles[6];// Offset=0x3a0 Size=0x18
    struct _LIST_ENTRY NotifyList;// Offset=0x3b8 Size=0x8
    struct _LIST_ENTRY HiveList;// Offset=0x3c0 Size=0x8
    struct _LIST_ENTRY PreloadedHiveList;// Offset=0x3c8 Size=0x8
    struct _EX_RUNDOWN_REF HiveRundown;// Offset=0x3d0 Size=0x4
    struct _LIST_ENTRY ParseCacheEntries;// Offset=0x3d4 Size=0x8
    struct _CM_KEY_HASH_TABLE_ENTRY * KcbCacheTable;// Offset=0x3dc Size=0x4
    unsigned long KcbCacheTableSize;// Offset=0x3e0 Size=0x4
    struct _CM_KEY_HASH_TABLE_ENTRY * DeletedKcbTable;// Offset=0x3e4 Size=0x4
    unsigned long DeletedKcbTableSize;// Offset=0x3e8 Size=0x4
    unsigned long Identity;// Offset=0x3ec Size=0x4
    struct _FAST_MUTEX * HiveLock;// Offset=0x3f0 Size=0x4
    struct _FAST_MUTEX * WriterLock;// Offset=0x3f4 Size=0x4
    struct _ERESOURCE * FlusherLock;// Offset=0x3f8 Size=0x4
    struct _RTL_BITMAP FlushDirtyVector;// Offset=0x3fc Size=0x8
    struct CMP_OFFSET_ARRAY * FlushOffsetArray;// Offset=0x404 Size=0x4
    unsigned long FlushOffsetArrayCount;// Offset=0x408 Size=0x4
    struct _HBASE_BLOCK * FlushBaseBlock;// Offset=0x40c Size=0x4
    unsigned long FlushHiveTruncated;// Offset=0x410 Size=0x4
    struct _EX_PUSH_LOCK SecurityLock;// Offset=0x414 Size=0x4
    unsigned long UseCount;// Offset=0x418 Size=0x4
    unsigned long LastShrinkHiveSize;// Offset=0x41c Size=0x4
    union _LARGE_INTEGER ActualFileSize;// Offset=0x420 Size=0x8
    union _LARGE_INTEGER LogFileSizes[2];// Offset=0x428 Size=0x10
    struct _UNICODE_STRING FileFullPath;// Offset=0x438 Size=0x8
    struct _UNICODE_STRING FileUserName;// Offset=0x440 Size=0x8
    struct _UNICODE_STRING HiveRootPath;// Offset=0x448 Size=0x8
    unsigned long SecurityCount;// Offset=0x450 Size=0x4
    unsigned long SecurityCacheSize;// Offset=0x454 Size=0x4
    long SecurityHitHint;// Offset=0x458 Size=0x4
    struct _CM_KEY_SECURITY_CACHE_ENTRY * SecurityCache;// Offset=0x45c Size=0x4
    struct _LIST_ENTRY SecurityHash[64];// Offset=0x460 Size=0x200
    unsigned long UnloadEventCount;// Offset=0x660 Size=0x4
    struct _KEVENT ** UnloadEventArray;// Offset=0x664 Size=0x4
    struct _CM_KEY_CONTROL_BLOCK * RootKcb;// Offset=0x668 Size=0x4
    unsigned char Frozen;// Offset=0x66c Size=0x1
    struct _CM_WORKITEM * UnloadWorkItem;// Offset=0x670 Size=0x4
    struct _CM_WORKITEM UnloadWorkItemHolder;// Offset=0x674 Size=0x14
    unsigned char GrowOnlyMode;// Offset=0x688 Size=0x1
    unsigned long GrowOffset;// Offset=0x68c Size=0x4
    struct _LIST_ENTRY KcbConvertListHead;// Offset=0x690 Size=0x8
    struct _LIST_ENTRY KnodeConvertListHead;// Offset=0x698 Size=0x8
    struct _CM_CELL_REMAP_BLOCK * CellRemapArray;// Offset=0x6a0 Size=0x4
    unsigned long Flags;// Offset=0x6a4 Size=0x4
    struct _LIST_ENTRY TrustClassEntry;// Offset=0x6a8 Size=0x8
    unsigned long long DirtyTime;// Offset=0x6b0 Size=0x8
    struct _CM_RM * CmRm;// Offset=0x6b8 Size=0x4
    unsigned long CmRmInitFailPoint;// Offset=0x6bc Size=0x4
    long CmRmInitFailStatus;// Offset=0x6c0 Size=0x4
    struct _KTHREAD * CreatorOwner;// Offset=0x6c4 Size=0x4
    struct _KTHREAD * RundownThread;// Offset=0x6c8 Size=0x4
    struct _ETHREAD * ActiveFlushThread;// Offset=0x6cc Size=0x4
    struct _EX_PUSH_LOCK FlushBoostLock;// Offset=0x6d0 Size=0x4
    union _LARGE_INTEGER LastWriteTime;// Offset=0x6d8 Size=0x8
    long ReferenceCount;// Offset=0x6e0 Size=0x4
    unsigned long FlushFlags;// Offset=0x6e4 Size=0x4
    unsigned long FlushActive:1;// Offset=0x6e4 Size=0x4 BitOffset=0x0 BitSize=0x1
    unsigned long DiskFileBad:1;// Offset=0x6e4 Size=0x4 BitOffset=0x1 BitSize=0x1
    unsigned long FlushBoosted:1;// Offset=0x6e4 Size=0x4 BitOffset=0x2 BitSize=0x1
    unsigned long PrimaryWritePending:1;// Offset=0x6e4 Size=0x4 BitOffset=0x3 BitSize=0x1
    unsigned long PriorPurgeComplete:1;// Offset=0x6e4 Size=0x4 BitOffset=0x4 BitSize=0x1
    struct _HIVE_WAIT_PACKET * FlushWaitList;// Offset=0x6e8 Size=0x4
    long UnloadHistoryIndex;// Offset=0x6ec Size=0x4
    unsigned long UnloadHistory[128];// Offset=0x6f0 Size=0x200
    unsigned long BootStart;// Offset=0x8f0 Size=0x4
    unsigned long UnaccessedStart;// Offset=0x8f4 Size=0x4
    unsigned long UnaccessedEnd;// Offset=0x8f8 Size=0x4
    unsigned long LoadedKeyCount;// Offset=0x8fc Size=0x4
    unsigned long HandleClosePending;// Offset=0x900 Size=0x4
    struct _EX_PUSH_LOCK HandleClosePendingEvent;// Offset=0x904 Size=0x4
};